//封装分类数据业务
//引入Category页面的二级分类列表
import { reqGetCategory } from "@/apis/category";
import { ref, onMounted } from "vue";
import { useRoute, onBeforeRouteUpdate } from "vue-router";
export const useCategory = () => {
  //用于储存home页面二级分类列表的数组
  let categoryData = ref({});
  //获取当前路由实例
  let route = useRoute();
  onMounted(() => {
    getCategoryData();
  });
  //获取home页面二级分类列表的数组 参数：当前路由的实例id
  const getCategoryData = async (id = route.params.id) => {
    let res = await reqGetCategory(id);
    // console.log(res);
    // let res: any = await reqGetCategory(route.query.id);
    categoryData.value = res.result;
  };

  //监听当前路由的变化 重新获取数据
  // watch(route, () => {
  // console.log("路由变化了");
  //   getCategoryData();
  // });
  //目标：路由参数变化的时候 可以把分类数据接口重新发送
  onBeforeRouteUpdate((to) => {
    console.log("路由变化了");
    //存在问题：使用最新的路由参数请求最新的分类数据
    console.log(to);
    getCategoryData(to.params.id);
  });

  return {
    categoryData,
  };
};
